{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# admissionDrug\n",
    "\n",
    "The following columns are available:\n",
    "\n",
    "* admissiondrugid - primary key, has no meaning but identifies rows uniquely\n",
    "* drugOffset - number of minutes from unit admit time that the admission drug was administered\n",
    "* drugEnteredOffset - number of minutes from unit admit time that the admission drug was entered\n",
    "* drugNoteType - unique note picklist types e.g.: Comprehensive Progress Admission Intubation\n",
    "* specialtyType - physician specialty picklist types e.g.: anesthesiology gastroenterology oncology\n",
    "* userType - who documented the drug from eCareManager user picklist types e.g.: eICU Physician, Nurse, Attending Physician\n",
    "* rxincluded - Does the Note have associated Rx data: True or False\n",
    "* writtenIneICU - Was the Note written in the eICU: True or False\n",
    "* drugName - name of the selected admission drug e.g.: POTASSIUM CHLORIDE/D5NS METAXALONE PRAVACHOL\n",
    "* drugDosage - dosage of the admission drug e.g.: 20.0000 400.000\n",
    "* drugUnit - picklist units of the admission drug e.g.: mg mg/kg patch\n",
    "* drugAdmitFrequency - picklist frequency with which the admission drug is administred e.g.: PRN twice a day at bedtime\n",
    "* drughiclseqno - a code representing the drug (hierarchical ingredient code list, HICL)\n",
    "\n",
    "We recommend configuring the `config.ini` file to allow for connection to the database without specifying your password each time."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/home/alistairewj/.local/lib/python3.5/site-packages/psycopg2/__init__.py:144: UserWarning: The psycopg2 wheel package will be renamed from release 2.8; in order to keep installing from binary please use \"pip install psycopg2-binary\" instead. For details see: <http://initd.org/psycopg/docs/install.html#binary-install-from-pypi>.\n",
      "  \"\"\")\n"
     ]
    }
   ],
   "source": [
    "# Import libraries\n",
    "import numpy as np\n",
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt\n",
    "import psycopg2\n",
    "import getpass\n",
    "import pdvega\n",
    "\n",
    "# for configuring connection \n",
    "from configobj import ConfigObj\n",
    "import os\n",
    "\n",
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Database: eicu\n",
      "Username: alistairewj\n"
     ]
    }
   ],
   "source": [
    "# Create a database connection using settings from config file\n",
    "config='../db/config.ini'\n",
    "\n",
    "# connection info\n",
    "conn_info = dict()\n",
    "if os.path.isfile(config):\n",
    "    config = ConfigObj(config)\n",
    "    conn_info[\"sqluser\"] = config['username']\n",
    "    conn_info[\"sqlpass\"] = config['password']\n",
    "    conn_info[\"sqlhost\"] = config['host']\n",
    "    conn_info[\"sqlport\"] = config['port']\n",
    "    conn_info[\"dbname\"] = config['dbname']\n",
    "    conn_info[\"schema_name\"] = config['schema_name']\n",
    "else:\n",
    "    conn_info[\"sqluser\"] = 'postgres'\n",
    "    conn_info[\"sqlpass\"] = ''\n",
    "    conn_info[\"sqlhost\"] = 'localhost'\n",
    "    conn_info[\"sqlport\"] = 5432\n",
    "    conn_info[\"dbname\"] = 'eicu'\n",
    "    conn_info[\"schema_name\"] = 'public,eicu_crd'\n",
    "    \n",
    "# Connect to the eICU database\n",
    "print('Database: {}'.format(conn_info['dbname']))\n",
    "print('Username: {}'.format(conn_info[\"sqluser\"]))\n",
    "if conn_info[\"sqlpass\"] == '':\n",
    "    # try connecting without password, i.e. peer or OS authentication\n",
    "    try:\n",
    "        if (conn_info[\"sqlhost\"] == 'localhost') & (conn_info[\"sqlport\"]=='5432'):\n",
    "            con = psycopg2.connect(dbname=conn_info[\"dbname\"],\n",
    "                                   user=conn_info[\"sqluser\"])            \n",
    "        else:\n",
    "            con = psycopg2.connect(dbname=conn_info[\"dbname\"],\n",
    "                                   host=conn_info[\"sqlhost\"],\n",
    "                                   port=conn_info[\"sqlport\"],\n",
    "                                   user=conn_info[\"sqluser\"])\n",
    "    except:\n",
    "        conn_info[\"sqlpass\"] = getpass.getpass('Password: ')\n",
    "\n",
    "        con = psycopg2.connect(dbname=conn_info[\"dbname\"],\n",
    "                               host=conn_info[\"sqlhost\"],\n",
    "                               port=conn_info[\"sqlport\"],\n",
    "                               user=conn_info[\"sqluser\"],\n",
    "                               password=conn_info[\"sqlpass\"])\n",
    "query_schema = 'set search_path to ' + conn_info['schema_name'] + ';'"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Examine a single patient"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "patientunitstayid = 2704494"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>admissiondrugid</th>\n",
       "      <th>patientunitstayid</th>\n",
       "      <th>drugyear</th>\n",
       "      <th>drugtime24</th>\n",
       "      <th>drugtime</th>\n",
       "      <th>drugoffset</th>\n",
       "      <th>drugenteredyear</th>\n",
       "      <th>drugenteredtime24</th>\n",
       "      <th>drugenteredtime</th>\n",
       "      <th>drugenteredoffset</th>\n",
       "      <th>drugnotetype</th>\n",
       "      <th>specialtytype</th>\n",
       "      <th>usertype</th>\n",
       "      <th>rxincluded</th>\n",
       "      <th>writtenineicu</th>\n",
       "      <th>drugname</th>\n",
       "      <th>drugdosage</th>\n",
       "      <th>drugunit</th>\n",
       "      <th>drugadmitfrequency</th>\n",
       "      <th>drughiclseqno</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>13383114</td>\n",
       "      <td>2704494</td>\n",
       "      <td>2014</td>\n",
       "      <td>16:13:00</td>\n",
       "      <td>evening</td>\n",
       "      <td>-87132</td>\n",
       "      <td>2014</td>\n",
       "      <td>16:18:46</td>\n",
       "      <td>evening</td>\n",
       "      <td>2153</td>\n",
       "      <td>Comprehensive Progress</td>\n",
       "      <td>eCM Primary</td>\n",
       "      <td>THC Physician</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>IMDUR</td>\n",
       "      <td>0.0</td>\n",
       "      <td></td>\n",
       "      <td></td>\n",
       "      <td>6341</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>13383119</td>\n",
       "      <td>2704494</td>\n",
       "      <td>2014</td>\n",
       "      <td>16:13:00</td>\n",
       "      <td>evening</td>\n",
       "      <td>-87132</td>\n",
       "      <td>2014</td>\n",
       "      <td>16:18:46</td>\n",
       "      <td>evening</td>\n",
       "      <td>2153</td>\n",
       "      <td>Comprehensive Progress</td>\n",
       "      <td>eCM Primary</td>\n",
       "      <td>THC Physician</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>ZAROXOLYN</td>\n",
       "      <td>0.0</td>\n",
       "      <td></td>\n",
       "      <td></td>\n",
       "      <td>3663</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>13383112</td>\n",
       "      <td>2704494</td>\n",
       "      <td>2014</td>\n",
       "      <td>16:13:00</td>\n",
       "      <td>evening</td>\n",
       "      <td>-87132</td>\n",
       "      <td>2014</td>\n",
       "      <td>16:18:46</td>\n",
       "      <td>evening</td>\n",
       "      <td>2153</td>\n",
       "      <td>Comprehensive Progress</td>\n",
       "      <td>eCM Primary</td>\n",
       "      <td>THC Physician</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>EXEMESTANE</td>\n",
       "      <td>0.0</td>\n",
       "      <td></td>\n",
       "      <td></td>\n",
       "      <td>20803</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>13383111</td>\n",
       "      <td>2704494</td>\n",
       "      <td>2014</td>\n",
       "      <td>16:13:00</td>\n",
       "      <td>evening</td>\n",
       "      <td>-87132</td>\n",
       "      <td>2014</td>\n",
       "      <td>16:18:46</td>\n",
       "      <td>evening</td>\n",
       "      <td>2153</td>\n",
       "      <td>Comprehensive Progress</td>\n",
       "      <td>eCM Primary</td>\n",
       "      <td>THC Physician</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>COREG</td>\n",
       "      <td>0.0</td>\n",
       "      <td></td>\n",
       "      <td></td>\n",
       "      <td>13795</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>13383116</td>\n",
       "      <td>2704494</td>\n",
       "      <td>2014</td>\n",
       "      <td>16:13:00</td>\n",
       "      <td>evening</td>\n",
       "      <td>-87132</td>\n",
       "      <td>2014</td>\n",
       "      <td>16:18:46</td>\n",
       "      <td>evening</td>\n",
       "      <td>2153</td>\n",
       "      <td>Comprehensive Progress</td>\n",
       "      <td>eCM Primary</td>\n",
       "      <td>THC Physician</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>PROTONIX</td>\n",
       "      <td>0.0</td>\n",
       "      <td></td>\n",
       "      <td></td>\n",
       "      <td>22008</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   admissiondrugid  patientunitstayid  drugyear drugtime24 drugtime  \\\n",
       "0         13383114            2704494      2014   16:13:00  evening   \n",
       "1         13383119            2704494      2014   16:13:00  evening   \n",
       "2         13383112            2704494      2014   16:13:00  evening   \n",
       "3         13383111            2704494      2014   16:13:00  evening   \n",
       "4         13383116            2704494      2014   16:13:00  evening   \n",
       "\n",
       "   drugoffset  drugenteredyear drugenteredtime24 drugenteredtime  \\\n",
       "0      -87132             2014          16:18:46         evening   \n",
       "1      -87132             2014          16:18:46         evening   \n",
       "2      -87132             2014          16:18:46         evening   \n",
       "3      -87132             2014          16:18:46         evening   \n",
       "4      -87132             2014          16:18:46         evening   \n",
       "\n",
       "   drugenteredoffset            drugnotetype specialtytype       usertype  \\\n",
       "0               2153  Comprehensive Progress   eCM Primary  THC Physician   \n",
       "1               2153  Comprehensive Progress   eCM Primary  THC Physician   \n",
       "2               2153  Comprehensive Progress   eCM Primary  THC Physician   \n",
       "3               2153  Comprehensive Progress   eCM Primary  THC Physician   \n",
       "4               2153  Comprehensive Progress   eCM Primary  THC Physician   \n",
       "\n",
       "  rxincluded writtenineicu    drugname  drugdosage drugunit  \\\n",
       "0       True         False       IMDUR         0.0            \n",
       "1       True         False   ZAROXOLYN         0.0            \n",
       "2       True         False  EXEMESTANE         0.0            \n",
       "3       True         False       COREG         0.0            \n",
       "4       True         False    PROTONIX         0.0            \n",
       "\n",
       "  drugadmitfrequency  drughiclseqno  \n",
       "0                              6341  \n",
       "1                              3663  \n",
       "2                             20803  \n",
       "3                             13795  \n",
       "4                             22008  "
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "query = query_schema + \"\"\"\n",
    "select *\n",
    "from admissiondrug\n",
    "where patientunitstayid = {}\n",
    "order by drugoffset\n",
    "\"\"\".format(patientunitstayid)\n",
    "\n",
    "df = pd.read_sql_query(query, con)\n",
    "df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>admissiondrugid</th>\n",
       "      <th>patientunitstayid</th>\n",
       "      <th>drugoffset</th>\n",
       "      <th>drugenteredoffset</th>\n",
       "      <th>drugname</th>\n",
       "      <th>drughiclseqno</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>13383114</td>\n",
       "      <td>2704494</td>\n",
       "      <td>-87132</td>\n",
       "      <td>2153</td>\n",
       "      <td>IMDUR</td>\n",
       "      <td>6341</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>13383119</td>\n",
       "      <td>2704494</td>\n",
       "      <td>-87132</td>\n",
       "      <td>2153</td>\n",
       "      <td>ZAROXOLYN</td>\n",
       "      <td>3663</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>13383112</td>\n",
       "      <td>2704494</td>\n",
       "      <td>-87132</td>\n",
       "      <td>2153</td>\n",
       "      <td>EXEMESTANE</td>\n",
       "      <td>20803</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>13383111</td>\n",
       "      <td>2704494</td>\n",
       "      <td>-87132</td>\n",
       "      <td>2153</td>\n",
       "      <td>COREG</td>\n",
       "      <td>13795</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>13383116</td>\n",
       "      <td>2704494</td>\n",
       "      <td>-87132</td>\n",
       "      <td>2153</td>\n",
       "      <td>PROTONIX</td>\n",
       "      <td>22008</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   admissiondrugid  patientunitstayid  drugoffset  drugenteredoffset  \\\n",
       "0         13383114            2704494      -87132               2153   \n",
       "1         13383119            2704494      -87132               2153   \n",
       "2         13383112            2704494      -87132               2153   \n",
       "3         13383111            2704494      -87132               2153   \n",
       "4         13383116            2704494      -87132               2153   \n",
       "\n",
       "     drugname  drughiclseqno  \n",
       "0       IMDUR           6341  \n",
       "1   ZAROXOLYN           3663  \n",
       "2  EXEMESTANE          20803  \n",
       "3       COREG          13795  \n",
       "4    PROTONIX          22008  "
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Look at a subset of columns\n",
    "cols = ['admissiondrugid','patientunitstayid','drugoffset','drugenteredoffset','drugname','drughiclseqno']\n",
    "df[cols].head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Here we can see that these drugs were documented 2153 minutes (1.5 days) after ICU admission, but administered 87132 minutes (60 days) *before* ICU admission (thus, the negative offset). Since it's reasonable to assume the patient is still taking the drug (as this is the admissiondrug table), `drugoffset` can likely be treated as a start time for a prescription of the drug."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Identifying patients admitted on a single drug"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Let's look for patients who were admitted on Zaroxolyn."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "227 unit stays with ZAROXOLYN.\n"
     ]
    }
   ],
   "source": [
    "drug = 'ZAROXOLYN'\n",
    "query = query_schema + \"\"\"\n",
    "select \n",
    "  admissiondrugid, patientunitstayid\n",
    "  , drugoffset, drugenteredoffset\n",
    "  , drugname, drughiclseqno\n",
    "from admissiondrug\n",
    "where drugname = '{}'\n",
    "\"\"\".format(drug)\n",
    "\n",
    "df_drug = pd.read_sql_query(query, con)\n",
    "df_drug.set_index('admissiondrugid',inplace=True)\n",
    "print('{} unit stays with {}.'.format(df_drug['patientunitstayid'].nunique(), drug))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Instead of using the drug name, we could try to use the HICL code."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "533 unit stays with HICL = 3663.\n"
     ]
    }
   ],
   "source": [
    "hicl = 3663\n",
    "query = query_schema + \"\"\"\n",
    "select \n",
    "  admissiondrugid, patientunitstayid\n",
    "  , drugoffset, drugenteredoffset\n",
    "  , drugname, drughiclseqno\n",
    "from admissiondrug\n",
    "where drughiclseqno = {}\n",
    "\"\"\".format(hicl)\n",
    "\n",
    "df_hicl = pd.read_sql_query(query, con)\n",
    "df_hicl.set_index('admissiondrugid',inplace=True)\n",
    "\n",
    "print('{} unit stays with HICL = {}.'.format(df_hicl['patientunitstayid'].nunique(), hicl))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "As we can see, using the HICL returned many more observations. Let's take a look at a few:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "METOLAZONE    767\n",
       "Name: drugname, dtype: int64"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# rows in HICL which are *not* in the drug dataframe\n",
    "idx = ~df_hicl.index.isin(df_drug.index)\n",
    "# count the drug names\n",
    "df_hicl.loc[idx, 'drugname'].value_counts()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "All the rows use the drug name \"Metolazone\". Metolazone is the generic name for the brand Zaroxolyn. This demonstrates the utility of using HICL codes to identify drugs - synonyms like these are very common and can be tedious to find."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Hospitals with data available"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>hospitalid</th>\n",
       "      <th>number_of_patients</th>\n",
       "      <th>number_of_patients_with_admdrug</th>\n",
       "      <th>data completion</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>165</th>\n",
       "      <td>420</td>\n",
       "      <td>342170</td>\n",
       "      <td>341168</td>\n",
       "      <td>99.707163</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>127</th>\n",
       "      <td>142</td>\n",
       "      <td>33887</td>\n",
       "      <td>33003</td>\n",
       "      <td>97.391330</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>90</th>\n",
       "      <td>382</td>\n",
       "      <td>29047</td>\n",
       "      <td>28871</td>\n",
       "      <td>99.394085</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>84</th>\n",
       "      <td>365</td>\n",
       "      <td>25941</td>\n",
       "      <td>25735</td>\n",
       "      <td>99.205890</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>94</th>\n",
       "      <td>281</td>\n",
       "      <td>25564</td>\n",
       "      <td>25092</td>\n",
       "      <td>98.153654</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>391</td>\n",
       "      <td>22992</td>\n",
       "      <td>22840</td>\n",
       "      <td>99.338900</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>180</th>\n",
       "      <td>394</td>\n",
       "      <td>23574</td>\n",
       "      <td>22485</td>\n",
       "      <td>95.380504</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>139</th>\n",
       "      <td>440</td>\n",
       "      <td>23644</td>\n",
       "      <td>22343</td>\n",
       "      <td>94.497547</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>187</th>\n",
       "      <td>283</td>\n",
       "      <td>20045</td>\n",
       "      <td>19724</td>\n",
       "      <td>98.398603</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>166</th>\n",
       "      <td>443</td>\n",
       "      <td>20072</td>\n",
       "      <td>18666</td>\n",
       "      <td>92.995217</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "     hospitalid  number_of_patients  number_of_patients_with_admdrug  \\\n",
       "165         420              342170                           341168   \n",
       "127         142               33887                            33003   \n",
       "90          382               29047                            28871   \n",
       "84          365               25941                            25735   \n",
       "94          281               25564                            25092   \n",
       "16          391               22992                            22840   \n",
       "180         394               23574                            22485   \n",
       "139         440               23644                            22343   \n",
       "187         283               20045                            19724   \n",
       "166         443               20072                            18666   \n",
       "\n",
       "     data completion  \n",
       "165        99.707163  \n",
       "127        97.391330  \n",
       "90         99.394085  \n",
       "84         99.205890  \n",
       "94         98.153654  \n",
       "16         99.338900  \n",
       "180        95.380504  \n",
       "139        94.497547  \n",
       "187        98.398603  \n",
       "166        92.995217  "
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "query = query_schema + \"\"\"\n",
    "select \n",
    "  pt.hospitalid\n",
    "  , count(pt.patientunitstayid) as number_of_patients\n",
    "  , count(ad.patientunitstayid) as number_of_patients_with_admdrug\n",
    "from patient pt\n",
    "left join admissiondrug ad\n",
    "  on pt.patientunitstayid = ad.patientunitstayid\n",
    "group by pt.hospitalid\n",
    "\"\"\".format(patientunitstayid)\n",
    "\n",
    "df = pd.read_sql_query(query, con)\n",
    "df['data completion'] = df['number_of_patients_with_admdrug'] / df['number_of_patients'] * 100.0\n",
    "df.sort_values('number_of_patients_with_admdrug', ascending=False, inplace=True)\n",
    "df.head(n=10)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div class=\"vega-embed\" id=\"4b80dde8-5343-49f8-b49b-2b628ac32829\"></div>\n",
       "\n",
       "<style>\n",
       ".vega-embed svg, .vega-embed canvas {\n",
       "  border: 1px dotted gray;\n",
       "}\n",
       "\n",
       ".vega-embed .vega-actions a {\n",
       "  margin-right: 6px;\n",
       "}\n",
       "</style>\n"
      ]
     },
     "metadata": {
      "jupyter-vega3": "#4b80dde8-5343-49f8-b49b-2b628ac32829"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "application/javascript": [
       "var spec = {\"height\": 300, \"width\": 450, \"encoding\": {\"color\": {\"field\": \"Number of hospitals\", \"type\": \"nominal\"}, \"x\": {\"bin\": {\"maxbins\": 10}, \"field\": \"Percent of patients with data\", \"type\": \"quantitative\"}, \"y\": {\"type\": \"quantitative\", \"stack\": null, \"aggregate\": \"count\"}}, \"selection\": {\"grid\": {\"type\": \"interval\", \"bind\": \"scales\"}}, \"mark\": \"bar\", \"$schema\": \"https://vega.github.io/schema/vega-lite/v2.json\", \"data\": {\"values\": [{\"Percent of patients with data\": 99.70716310605839, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 97.39133000855786, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 99.39408544772266, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 99.2058902895031, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 98.15365357534033, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 99.33890048712595, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 95.38050394502417, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 94.49754694637117, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 98.39860314292841, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 92.99521721801514, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 99.13537393499526, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 98.3529250956807, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 82.52706749596868, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 98.78725891291641, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 97.820763956905, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 98.8303087640836, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 92.72040302267003, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 97.60643515793605, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 78.42727345822948, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 98.44176869371648, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 96.84754521963825, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 99.3478016417407, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 98.61695730607336, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 98.82154882154882, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 89.78199975642431, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 98.59474804826118, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 98.91556932610379, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 98.54794957715015, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 98.65760957464013, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 80.15538583091914, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 92.43070362473348, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 82.86078820527361, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 75.5708103268169, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 96.68137348935353, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 59.11359315589354, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 77.42198987093613, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 97.03862660944206, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 97.71689497716895, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 99.46705426356588, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 80.62325209748302, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 96.1864406779661, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 99.08136482939632, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 85.98336594911937, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 99.05660377358491, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 81.01960784313725, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 81.44635447540011, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 70.72697003329634, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 72.11347517730496, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 76.51675218834893, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 99.51787866613098, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 89.10476190476192, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 88.88386805241754, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 80.7949790794979, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 77.1140092553639, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 82.50226654578422, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 39.543559359227565, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 94.76495726495726, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 93.25053995680346, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 89.0738813735692, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 45.598591549295776, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 94.16413373860182, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 83.45945945945947, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 88.47262247838617, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 79.3103448275862, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 83.9000693962526, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 53.14076111875286, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 52.531328320802004, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 53.221288515406165, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 85.12773722627736, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 52.62563523433089, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 98.68421052631578, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 77.96278158667972, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 58.21917808219178, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 99.01960784313727, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 53.5632183908046, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 99.22600619195046, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 55.1654964894684, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 88.58603066439524, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 28.476454293628812, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 48.760330578512395, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 50.74183976261127, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 50.0805152979066, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 63.45733041575492, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 60.08316008316008, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 83.0827067669173, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 50.467289719626166, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 89.21161825726142, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 32.847896440129446, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 48.58611825192802, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 50.476190476190474, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 8.561020036429873, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 30.985915492957744, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 99.1869918699187, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 2.841357537490134, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 71.73913043478261, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 88.78504672897196, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 24.838709677419356, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 42.13483146067416, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 82.02247191011236, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 55.833333333333336, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 9.345794392523365, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 31.891891891891895, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 8.88529886914378, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 12.935323383084576, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 55.319148936170215, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 62.06896551724138, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 72.91666666666666, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 33.33333333333333, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 0.7662835249042145, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 79.41176470588235, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 1.8046709129511678, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 5.204460966542751, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 19.17808219178082, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 0.2808988764044944, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 1.3089005235602094, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 0.2039775624681285, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 0.48134777376654636, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 0.038182512409316534, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 0.0962463907603465, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 0.3194888178913738, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 8.333333333333332, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 0.29411764705882354, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 0.0, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 0.0, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 0.0, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 0.0, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 0.0, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 0.0, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 0.0, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 0.0, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 0.0, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 0.0, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 0.0, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 0.0, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 0.0, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 0.0, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 0.0, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 0.0, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 0.0, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 0.0, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 0.0, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 0.0, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 0.0, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 0.0, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 0.0, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 0.0, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 0.0, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 0.0, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 0.0, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 0.0, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 0.0, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 0.0, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 0.0, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 0.0, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 0.0, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 0.0, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 0.0, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 0.0, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 0.0, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 0.0, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 0.0, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 0.0, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 0.0, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 0.0, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 0.0, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 0.0, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 0.0, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 0.0, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 0.0, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 0.0, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 0.0, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 0.0, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 0.0, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 0.0, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 0.0, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 0.0, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 0.0, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 0.0, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 0.0, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 0.0, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 0.0, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 0.0, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 0.0, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 0.0, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 0.0, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 0.0, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 0.0, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 0.0, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 0.0, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 0.0, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 0.0, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 0.0, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 0.0, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 0.0, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 0.0, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 0.0, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 0.0, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 0.0, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 0.0, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 0.0, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 0.0, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 0.0, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 0.0, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 0.0, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 0.0, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 0.0, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 0.0, \"Number of hospitals\": \"data completion\"}, {\"Percent of patients with data\": 0.0, \"Number of hospitals\": \"data completion\"}]}};\n",
       "var selector = \"#4b80dde8-5343-49f8-b49b-2b628ac32829\";\n",
       "var type = \"vega-lite\";\n",
       "\n",
       "var output_area = this;\n",
       "require(['nbextensions/jupyter-vega3/index'], function(vega) {\n",
       "  vega.render(selector, spec, type, output_area);\n",
       "}, function (err) {\n",
       "  if (err.requireType !== 'scripterror') {\n",
       "    throw(err);\n",
       "  }\n",
       "});\n"
      ]
     },
     "metadata": {
      "jupyter-vega3": "#4b80dde8-5343-49f8-b49b-2b628ac32829"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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"
     },
     "metadata": {
      "jupyter-vega3": "#4b80dde8-5343-49f8-b49b-2b628ac32829"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "df[['data completion']].vgplot.hist(bins=10,\n",
    "                                    var_name='Number of hospitals',\n",
    "                                    value_name='Percent of patients with data')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "As is common in eICU-CRD, there are a subset of hospitals who routinely utilize this portion of the medical record (and thus have 90-100% data completion), while there are other hospitals who rarely use this interface and thus have poor data completion (0-10%)."
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.5.2"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
